<?php 

class Ludou_Tax_Image{  
   
    function __construct(){  
          
        // 新建分类页面添加自定义字段输入框  
        add_action( 'category_add_form_fields', array( $this, 'add_tax_image_field' ) );  
        // 编辑分类页面添加自定义字段输入框  
        add_action( 'category_edit_form_fields', array( $this, 'edit_tax_image_field' ) );  
  
        // 保存自定义字段数据  
        add_action( 'edited_category', array( $this, 'save_tax_meta' ), 10, 2 );  
        add_action( 'create_category', array( $this, 'save_tax_meta' ), 10, 2 );  
   
   
    } // __construct  
   
    /** 
     * 新建分类页面添加自定义字段输入框 
     */  
    public function add_tax_image_field(){  
    ?>  
        <div class="form-field">  
            <label for="term_meta[tax_image]">推荐</label>  
            <input type="text" name="term_meta[tax_image]" id="term_meta[tax_image]" value="" />  
            <p class="description">请填写是或者不是</p>  
        </div><!-- /.form-field -->  
          
          
        <!-- TODO: 在这里追加其他自定义字段表单，如： -->  
          
        <!--  
        <div class="form-field">  
            <label for="term_meta[tax_keywords]">分类关键字</label>  
            <input type="text" name="term_meta[tax_keywords]" id="term_meta[tax_keywords]" value="" />  
            <p class="description">输入分类关键字</p>  
        </div>  
        -->  
    <?php  
    } // add_tax_image_field  
   
    /** 
     * 编辑分类页面添加自定义字段输入框 
     * 
     * @uses get_option()       从option表中获取option数据 
     * @uses esc_url()          确保字符串是url 
     */  
    public function edit_tax_image_field( $term ){  
          
        // $term_id 是当前分类的id  
        $term_id = $term->term_id;  
          
        // 获取已保存的option  
        $term_meta = get_option( "ludou_taxonomy_$term_id" );  
        // option是一个二维数组  
        $image = $term_meta['tax_image'] ? $term_meta['tax_image'] : '';  
          
        /** 
         *   TODO: 在这里追加获取其他自定义字段值，如： 
         *   $keywords = $term_meta['tax_keywords'] ? $term_meta['tax_keywords'] : ''; 
         */  
    ?>  
        <tr class="form-field">  
            <th scope="row">  
                <label for="term_meta[tax_image]">推荐</label>  
                <td>  
                    <input type="text" name="term_meta[tax_image]" id="term_meta[tax_image]" value="<?php echo $image; ?>" />  
                    <p class="description">请填写是或者不是</p>  
                </td>  
            </th>  
        </tr><!-- /.form-field -->  
          
        <!-- TODO: 在这里追加其他自定义字段表单，如： -->  
          
        <!--  
        <tr class="form-field">  
            <th scope="row">  
                <label for="term_meta[tax_keywords]">分类关键字</label>  
                <td>  
                    <input type="text" name="term_meta[tax_keywords]" id="term_meta[tax_keywords]" value="<?php echo $keywords; ?>" />  
                    <p class="description">输入分类关键字</p>  
                </td>  
            </th>  
        </tr>  
        -->  
          
    <?php  
    } // edit_tax_image_field  
   
    /** 
     * 保存自定义字段的数据 
     * 
     * @uses get_option()      从option表中获取option数据 
     * @uses update_option()   更新option数据，如果没有就新建option 
     */  
    public function save_tax_meta( $term_id ){  
        global $wpdb;
        if ( isset( $_POST['term_meta'] ) ) {  
              
            // $term_id 是当前分类的id  
            $t_id = $term_id;  
            $term_meta = array();  
              
            // 获取表单传过来的POST数据，POST数组一定要做过滤  
            $term_meta['tax_image'] = isset ( $_POST['term_meta']['tax_image'] ) ? $_POST['term_meta']['tax_image'] : '';

            if($term_meta['tax_image'] == '是') {
                echo 1;
                $id = $wpdb->update("wp_terms", array('recommend' => 1), array("term_id" => $t_id), array("%s", "%s", "%d"), array("%d"));
            } else {
                echo 2;
                $id = $wpdb->update("wp_terms", array('recommend' => 0), array("term_id" => $t_id), array("%s", "%s", "%d"), array("%d"));
            }

            // $id = -> update("table_name", array(), array(),array(%s, %d), array(%s, %d));

  
            /** 
             *   TODO: 在这里追加获取其他自定义字段表单的值，如： 
             *   $term_meta['tax_keywords'] = isset ( $_POST['term_meta']['tax_keywords'] ) ? $_POST['term_meta']['tax_keywords'] : ''; 
             */  
  
            // 保存option数组  
            update_option( "ludou_taxonomy_$t_id", $term_meta );  
   
        } // if isset( $_POST['term_meta'] )  
    } // save_tax_meta  
   
} // Ludou_Tax_Image  
   
$wptt_tax_image = new Ludou_Tax_Image();  


add_filter( 'mce_buttons', 'cmp_add_page_break_button', 1, 2 );
function cmp_add_page_break_button( $buttons, $id ){
    if ( 'content' != $id )
        return $buttons;
    array_splice( $buttons, 13, 0, 'wp_page' );
    return $buttons;
}

function pagination($query_string){   
global $posts_per_page, $paged;   
$my_query = new WP_Query($query_string ."&posts_per_page=-1");
$total_posts = $my_query->post_count;   
if(empty($paged))$paged = 1;   
$prev = $paged - 1;   
$next = $paged + 1;   

$range = 2; // only edit this if you want to show more page-links   
$showitems = ($range * 2)+1;   
$pages = ceil($total_posts/$posts_per_page);   
if(1 != $pages){   
echo "<div class='pagination'>";   
echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? "<a href='".get_pagenum_link(1)."'>最前</a>":"";   
echo ($paged > 1 && $showitems < $pages)? "<a href='".get_pagenum_link($prev)."'>上一页</a>":"";   
  
for ($i=1; $i <= $pages; $i++){   
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){   
echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";   
    }   
}   
  
        echo ($paged < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($next)."'>下一页</a>" :"";   
        echo ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($pages)."'>最后</a>":"";   
        echo "</div>\n";   
    }   
}


add_theme_support( 'post-thumbnails' ); // 开启特色图功能
// set_post_thumbnail_size( 520, 200, true ); // 默认特色图大小
// add_image_size( 'mobile-post-thumbnail', 90, 60 ); // 自定义名称尺寸的特色图

add_image_size('pro', 500, 500); // 自定义名称尺寸的特色图



add_action( 'add_meta_boxes', 'product_director' );
function product_director() {
    add_meta_box(
        'product_director',
        '产品价格',
        'product_director_meta_box',
        'product',
        'side',
        'low'
    );
}
function product_director_meta_box($post) {
    // 创建临时隐藏表单，为了安全
    wp_nonce_field( 'product_director_meta_box', 'product_director_meta_box_nonce' );
    // 获取之前存储的值
    $value = get_post_meta( $post->ID, '_product_director', true );



?>
    <label for="product_director"></label>
    <input type="text" id="product_director" name="product_director" value="<?php echo esc_attr( $value ); ?>" placeholder="输入产品价格">
<?php
}
add_action( 'save_post', 'product_director_save_meta_box' );
function product_director_save_meta_box($post_id){
    if ( ! isset( $_POST['product_director_meta_box_nonce'] ) ) {
        return;
    }
    if ( ! wp_verify_nonce( $_POST['product_director_meta_box_nonce'], 'product_director_meta_box' ) ) {
        return;
    }
    if ( ! current_user_can( 'edit_post', $post_id ) ) {
        return;
    }
    if ( ! isset( $_POST['product_director'] ) ) {
        return;
    }
    $product_director = sanitize_text_field( $_POST['product_director'] );
    update_post_meta( $post_id, '_product_director', $product_director );
}
add_action("manage_posts_custom_column",  "product_custom_columns");
add_filter("manage_edit-product_columns", "product_edit_columns");
function product_custom_columns($column){
    global $post;
    switch ($column) {
        case "product_director":
            echo get_post_meta( $post->ID, '_product_director', true );
            break;
    }
}
function product_edit_columns($columns){
    $columns['product_director'] = '产品价格';
    return $columns;
}

function getchild($id)  
{  
$result = explode('/',get_category_children($id));  
$childs = array();  
foreach($result as $i)  
{  
if(!empty($i))$childs[] = get_category($i);  
}  
return $childs;  
} 